package com.wzh.springbootinit.util;

import com.wzh.springbootinit.common.BaseResponse;
import com.wzh.springbootinit.common.ErrorCode;

/**
 * @Author wzh
 * @create 2023/4/1 20:51
 * @Description: 返回结果工具类，提高代码的可读性和可维护性减少代码的重复性，方便代码的拓展与修改
 */
public class ResultUtils {

    /**
     *成功
     * @param data
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> success(T data){
        return new BaseResponse<T>(0,"ok",data);
    }


    /**
     * 失败(当出现枚举类中的错误时调用此方法)
     * @param errorCode
     * @return
     */
    public static BaseResponse error(ErrorCode errorCode){
        return new BaseResponse(errorCode);
    }


    /**
     *失败
     * @param code
     * @param message
     * @return
     */

    public static BaseResponse error(int code,String message){
        return new BaseResponse(code,message,null);
    }


    /**
     * 处理枚举类中未定义的失败（相当于枚举的拓展）
     * @param errorCode
     * @param message
     * @return
     */
    public static BaseResponse error(ErrorCode errorCode,String message){
        return new BaseResponse(errorCode.getCode(),message,null);
    }








}
